import request from '@/utils/request-server'

/**
 * 获取考试数据
 * @param {Object} params 查询参数
 * @param {number} params.page 当前页码
 * @param {number} params.pageSize 每页数量
 * @param {string} params.timeOrder 时间排序方式，asc-升序，desc-降序
 * @param {string} params.reviewStatus 批阅状态，completed-已完成，uncompleted-未完成，空字符串-全部
 * @returns {Promise} 返回Promise对象
 */
export function getExamList(params) {
  return request({
    url: '/zym/taskScheduling/getExam',
    method: 'get',
    params
  })
}

/**
 * 获取学科教师数据
 * @param {number} subjectId 学科ID
 * @returns {Promise} 返回Promise对象，包含教师列表数据
 */
export function getTeacherOfSubject(subjectId) {
  return request({
    url: '/zym/taskScheduling/getTeacherOfSubject',
    method: 'get',
    params: { subjectId }
  })
}

/**
 * 保存批阅设置
 * @param {Object} data 批阅设置数据
 * @param {number} data.examId 考试ID
 * @param {Array} data.reviewers 批阅人员账号列表
 * @param {number} data.assignmentStrategy 分配策略，average-平均分配，custom-自定义分配
 * @param {Date} data.startTime 批阅开始时间
 * @param {Date} data.endTime 批阅截止时间
 * @param {number} data.enableReminder 是否启用提醒
 * @param {number} data.remindHourBefore 提前提醒时间（小时）
 * @returns {Promise} 返回Promise对象
 */
export function saveReviewSettings(data) {
  return request({
    url: '/zym/taskScheduling/saveReviewSettings',
    method: 'post',
    data
  })
}

/**
 * 获取批阅人员数据
 * @param {number} examId 考试ID
 * @returns {Promise} 返回Promise对象，包含批阅人员列表数据
 */
export function getReviewerList(examId) {
  return request({
    url: '/zym/taskScheduling/getReviewerList',
    method: 'get',
    params: { examId }
  })
} 


/**
 * 获取批阅详情
 * @param {number} examId 考试ID
 * @returns {Promise} 返回Promise对象，包含批阅详情数据
 */
export function getReviewDetail(examinationId) {
  return request({
    url: '/zym/taskScheduling/getReviewDetail',
    method: 'get',
    params: { examinationId }
  })
}


// 根据考试id获取本场考试的所有主观题
export function getSubjects(params) {
  return request({
    url: '/zym/taskScheduling/getSubjectiveByExamId',
    method: 'get',
    params
  })
}

// 保存主观题参考答案
export function saveSubject(data) {
  return request({
    url: '/zym/taskScheduling/saveSubject',
    method: 'post',
    data
  })
}

